package compute

import "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"

type CloudComputeInterface interface {
	CvmGreeter
	CbsGreeter
	RegionGreeter
}

type Compute struct {
	credential *common.Credential
}

func NewCompute(credential *common.Credential) CloudComputeInterface {
	return &Compute{
		credential: credential,
	}
}

func (c *Compute) Cvm(region string) CvmInterface {
	return newCvm(c, region)
}

func (c *Compute) CBS(region string) CbsInterface {
	return newCbs(c, region)
}

func (c *Compute) Credential() *common.Credential {
	return c.credential
}

func (c *Compute) Region() RegionInterface {
	return newRegion(c)
}
